Many computing environments have resources that are not being completely used at all times. For example, a large corporation may have many PCs (personal computers), NCs (network computers), or other types of computers, computing devices, or computing resources that are networked together. These computing resources often sit idle for long periods of time (such as at night). What is needed is a way to use these available computing resources to solve computationally intensive problems, such as higher level mathematics functions or calculating a previous day's financial activity for the company.
The Java programming language is an object-oriented programming language. This means that all data and activity in a Java program are organized around the concept of "classes" and "interfaces". A class contains data and methods that operate on that data. When a class implements an interface, the class defines the methods of the interface. Objects are created by creating instances of classes. Further details of Java, and of object-oriented programs in general, can be found in the following publications, both of which are herein incorporated by reference: The Java Tutorial: Object-Oriented Programming for the Internet by Mary Campione and Kathy Walrath, which is available in printed form and is also available at http://java.sun.com:80/docs/books /tutorial/index.html; and The Java Language Specification by James Gosling, Bill Joy, and Guy Steele, which is available in printed form and is also available at http://java.sun.com:80/docs/books/jls/html/index.html.
One class that exists in the Java programming language is the java.lang.Thread class. Threads are independent pieces of logic within a Java application or applet. (In this document, the term application is used for both applications and applets). Each thread executes in a single Java virtual machine. Although, more than one thread can be active at any one time in a virtual machine, a virtual machine generally is resident on one computer. Threads are described in more detail in Chapter 17 of the Java Language Specification, cited above. Conventional Java classes are discussed in more detail in the Java Development Toolkit (JDK), which is available in printed form and is also available at:
http:llwww.javasoft.com/products/jdk/1.1/docs/index.html.
The JDK is herein incorporated by reference.